#ifndef NODE_H
#define NODE_H

#include <Fl/fl_ask.h>
#include <Fl/FL_PNG_Image.h>
#include <vector>
#include "eleman.h"
#include "cetele.h"
#include "nodeprowidget.h"
#include "form.h"

class Cetele;
class Cizik;
class Node : public Eleman
{
    public:
        Node(int x,int y,int pid);
        virtual ~Node();
        std::string tipgonder();
        int handle(int e);
        nodeProWidget *nitelik();
        void gelensil(Cizik *p);
        void gidensil(Cizik *p);

        void gelencizgiAl(Cizik *p);
        ///Property
        int id();
        const char * type();
        void pozisyon(int px,int py);
        int xx();
        int yy();
        void status(bool pStatus);
        bool status();
        void selectable(bool pSelectable);
        bool selectable();
        void movable(bool pMovable);
        bool movable();
        void fromLink(bool pFromLink);
        bool fromLink();
        void toLink(bool pToLink);
        bool toLink();
        void deletable(bool pDeletable);
        bool deletable();
        void nitelikGoster(bool p);
        bool deletesil();
        std::vector <Cizik *> gidencizgitut;
        std::vector <Cizik *> gelencizgitut;
    protected:
    private:
        Fl_PNG_Image *resim;
        int nid;
        int nx;
        int ny;
        bool nStatus;
        bool nSelectable;
        bool nMovable;
        bool nFromLink;
        bool nToLink;
        bool nDeletable;
        bool nitgoster;
        bool secim;
        bool sildelete;
        nodeProWidget *nitwid;
};

#endif // NODE_H
